home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
program
/
rcs5ap1s.lzh
/
RCSBASE.H
< prev
next >
Wrap
C/C++ Source or Header
|
1991-01-30
|
25KB
|
898 lines
/*
* RCS common definitions and data structures
*/
#define RCSBASE "$Id: rcsbase.h,v 5.7 1991/01/30 14:21:32 apratt Exp $"
/* Copyright (C) 1982, 1988, 1989 Walter Tichy
Copyright 1990 by Paul Eggert
Distributed under license by the Free Software Foundation, Inc.
This file is part of RCS.
RCS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
RCS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with RCS; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
Report problems and direct all questions to:
rcs-bugs@cs.purdue.edu
*/
/*****************************************************************************
* INSTRUCTIONS:
* =============
* See the Makefile for how to define C preprocessor symbols.
* If you need to change the comment leaders, update the table comtable[]
* in rcsfnms.c. (This can wait until you know what a comment leader is.)
*****************************************************************************
*/
/* $Log: rcsbase.h,v $
* Revision 5.7 1991/01/30 14:21:32 apratt
* CI with RCS version 5
*
* Revision 5.6 91/01/11 12:46:18 apratt
* First version that compiles.
*
* Revision 5.5 90/12/04 05:18:43 eggert
* checked in with -k by apratt at 91.01.10.13.15.06.
*
* Revision 5.5 1990/12/04 05:18:43 eggert
* Use -I for prompts and -q for diagnostics.
*
* Revision 5.4 1990/11/01 05:03:35 eggert
* Don't assume that builtins are functions; they may be macros.
* Permit arbitrary data in logs.
*
* Revision 5.3 1990/09/26 23:36:58 eggert
* Port wait() to non-Posix ANSI C hosts.
*
* Revision 5.2 1990/09/04 08:02:20 eggert
* Don't redefine NAME_MAX, PATH_MAX.
* Improve incomplete line handling. Standardize yes-or-no procedure.
*
* Revision 5.1 1990/08/29 07:13:53 eggert
* Add -kkvl. Fix type typos exposed by porting. Clean old log messages too.
*
* Revision 5.0 1990/08/22 08:12:44 eggert
* Adjust ANSI C / Posix support. Add -k, -V, setuid. Don't call access().
* Remove compile-time limits; use malloc instead.
* Ansify and Posixate. Add support for ISO 8859.
* Remove snoop and v2 support.
*
* Revision 4.9 89/05/01 15:17:14 narten
* botched previous USG fix
*
* Revision 4.8 89/05/01 14:53:05 narten
* changed #include <strings.h> -> string.h for USG systems.
*
* Revision 4.7 88/11/08 15:58:45 narten
* removed defs for functions loaded from libraries
*
* Revision 4.6 88/08/09 19:12:36 eggert
* Shrink stdio code size; remove lint; permit -Dhshsize=nn.
*
* Revision 4.5 87/12/18 17:06:41 narten
* made removed BSD ifdef, now uses V4_2BSD
*
* Revision 4.4 87/10/18 10:29:49 narten
* Updating version numbers
* Changes relative to 1.1 are actually relative to 4.2
*
* Revision 1.3 87/09/24 14:02:25 narten
* changes for lint
*
* Revision 1.2 87/03/27 14:22:02 jenkins
* Port to suns
*
* Revision 4.2 83/12/20 16:04:20 wft
* merged 3.6.1.1 and 4.1 (SMALLOG, logsize).
* moved setting of STRICT_LOCKING to Makefile.
* changed DOLLAR to UNKN (conflict with KDELIM).
*
* Revision 4.1 83/05/04 09:12:41 wft
* Added markers Id and RCSfile.
* Added Dbranch for default branches.
*
* Revision 3.6.1.1 83/12/02 21:56:22 wft
* Increased logsize, added macro SMALLOG.
*
* Revision 3.6 83/01/15 16:43:28 wft
* 4.2 prerelease
*
* Revision 3.6 83/01/15 16:43:28 wft
* Replaced dbm.h with BYTESIZ, fixed definition of rindex().
* Added variants of NCPFN and NCPPN for bsd 4.2, selected by defining V4_2BSD.
* Added macro DELNUMFORM to have uniform format for printing delta text nodes.
* Added macro DELETE to mark deleted deltas.
*
* Revision 3.5 82/12/10 12:16:56 wft
* Added two forms of DATEFORM, one using %02d, the other %.2d.
*
* Revision 3.4 82/12/04 20:01:25 wft
* added LOCKER, Locker, and USG (redefinition of rindex).
*
* Revision 3.3 82/12/03 12:22:04 wft
* Added dbm.h, stdio.h, RCSBASE, RCSSEP, RCSSUF, WORKMODE, TMPFILE3,
* PRINTDATE, PRINTTIME, map, and ctab; removed Suffix. Redefined keyvallength
* using NCPPN. Changed putc() to abort on write error.
*
* Revision 3.2 82/10/18 15:03:52 wft
* added macro STRICT_LOCKING, removed RCSUMASK.
* renamed JOINFILE[1,2] to JOINFIL[1,2].
*
* Revision 3.1 82/10/11 19:41:17 wft
* removed NBPW, NBPC, NCPW.
* added typdef int void to aid compiling
*/
/* GCC */
#if __GNUC__ && !__STRICT_ANSI__
# define exiting volatile
#else
# define exiting
#endif
/* standard include files */
#include "conf.h"
#if !MAKEDEPEND
#include <errno.h>
#include <signal.h>
#include <time.h>
/* AKP: set ANSI_INCLUDE_FILES to 1 in conf.h if you have them. */
#if !ANSI_INCLUDE_FILES
/* ANSI C library */
/* These declarations are for the benefit of non-ANSI C hosts. */
/* <errno.h> */
# ifndef errno
extern int errno;
# endif
/* <limits.h> */
# ifndef CHAR_BIT
# define CHAR_BIT 8
# endif
# ifndef ULONG_MAX
# define ULONG_MAX (-(unsigned long)1)
# endif
/* <signal.h> */
# ifndef signal
signal_type (*signal P((int,signal_type(*)P((int)))))P((int));
# endif
/* <stdio.h> */
/* conf.h declares the troublesome printf family. */
# ifndef L_tmpnam
# define L_tmpnam 25 /* sizeof("/usr/tmp/xxxxxxxxxxxxxxx") */
# endif
# ifndef SEEK_SET
# define SEEK_SET 0
# endif
# ifndef fopen
FILE *fopen P((const char*,const char*));
# endif
# ifndef fread
fread_type fread P((void*,size_t,size_t,FILE*));
# endif
# ifndef fwrite
fread_type fwrite P((const void*,size_t,size_t,FILE*));
# endif
# ifndef fclose
int fclose P((FILE*));
# endif
# ifndef fflush
int fflush P((FILE*));
# endif
# ifndef fputs
int fputs P((const char*,FILE*));
# endif
# ifndef fseek
int fseek P((FILE*,long,int));
# endif
# ifndef perror
void perror P((const char*));
# endif
# ifndef clearerr
void clearerr P((FILE*));
# endif
# ifndef feof
int feof P((FILE*));
# endif
# ifndef ferror
int ferror P((FILE*));
# endif
# if has_rename && !defined(rename)
int rename P((const char*,const char*));
# endif
# if has_tmpnam && !defined(tmpnam)
char *tmpnam P((char*));
# endif
/* <stdlib.h> */
# ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
# endif
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
# endif
# ifndef getenv
char *getenv P((const char*));
# endif
# ifndef exit
exiting exit_type exit P((int));
# endif
# ifndef _exit
exiting underscore_exit_type _exit P((int));
# endif
# ifndef free
free_type free P((malloc_type));
# endif
# ifndef atoi
int atoi P((const char*));
# endif
# ifndef malloc
malloc_type malloc P((size_t));
# endif
# ifndef realloc
malloc_type realloc P((malloc_type,size_t));
# endif
/* <string.h> */
# ifndef strcat
char *strcat P((char*,const char*));
# endif
# ifndef strcpy
char *strcpy P((char*,const char*));
# endif
# ifndef strncpy
char *strncpy P((char*,const char*,int));
# endif
# ifndef strrchr
char *strrchr P((const char*,int));
# endif
# ifndef strcmp
int strcmp P((const char*,const char*));
# endif
# ifndef strncmp
int strncmp P((const char*,const char*,int));
# endif
# ifndef strlen
strlen_type strlen P((const char*));
# endif
/* <time.h> */
# ifndef time
time_t time P((time_t*));
# endif
/* end if !ANSI_INCLUDE_FILES */
#endif
/* Posix 1003.1-1988 */
/* These declarations are for the benefit of non-Posix hosts. */
/* <limits.h> */
# if !defined(NAME_MAX) && !defined(_POSIX_NAME_MAX)
# if has_sys_dir_h
# include